package com.tencent.welink.api.space.object.geo;

import com.tencent.welink.api.OpenApiTokenChange;
import com.tencent.welink.api.base.WelinkOpenApi;
import com.tencent.welink.config.BussinessConfig;
import com.tencent.welink.util.CrontabUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.Map;

/**
 * @Description: DIN查询周围设备信息。
 * @Author: limye
 * @CreateDate: 2020-6-9
 * @Version: V1.0
 */
public class ListNearbyObjectsByDin extends WelinkOpenApi {

    private static final Logger log = LogManager.getLogger(ListNearbyObjectsByDin.class);

    public ListNearbyObjectsByDin(){
        super("/space/geo/object/listNearbyObjectsByDin",true);
    }


    @Override
    public void displayResult(String result) {
    }


    public static void main(String[] args) {
        new BussinessConfig();
        CrontabUtil.addTaskInRate(new OpenApiTokenChange(), BussinessConfig.loginDurationMinutes,true);

        //实例化对象
        ListNearbyObjectsByDin instance = new ListNearbyObjectsByDin();

        /**
         * 名称	类型	说明
         * scopeRadius	number	搜索半径，单位米
         * scopeLevel	number	搜索空间范围层级，大于0的整数，其中:
         * 1.同个项目 -（不含该字段或值为 null 或为 0）
         * 2.同个建筑 - 6
         * 3.同一楼层 - 7
         * 4.同一房间/位置区域 - 8
         * objectLevel	number	表示要搜索的目标的层级，固定为 9，即设备层级
         * objectPoiCode	String	表示要搜索的目标的 PoiCode，需在管理平台处从字典表中获取 productId 对应的 PoiCode
         * limit	number	查询结果限制，最多 200 个，若不设置，默认最 20 个
         * offset	number	偏移量， 可以不传这个参数，默认是 0
         * project_id	String	项目编号
         */

        //添加参数
        Map<String,Object> map = instance.getExtendsPara();
        map.put("din","300000000000011111");
        map.put("scopeRadius",50);
        map.put("scopeLevel",7);
        map.put("objectLevel",9);
        map.put("objectPoiCode","w0701005");
        map.put("limit",0);
        map.put("offset",3);

        //执行HTTP请求及展示结果
        instance.DoHttp();
        CrontabUtil.shutdown();

    }
}
